SSK Web API

Allows custom web-pages to be integrated into MyID Self-Service Kiosk, exposing native functionality for those pages to use.

Table of Contents

Pre-requisites

To use this API, the following are required:

Some parts of the API require additional client-configuration:

Developer Notes

Accessing the API

SSK exposes a 'MyID' object via the WebView2's HostObjects property:

window.chrome.webview.hostObjects.MyID

This object exposes a number of functions and properties that can be called from the embedded page:

Debugging

SSK can be configured to enable the Microsoft Edge Developer Tools, allowing you to debug your custom pages within the SSK window. To enable these tools, add the following to your MyIDKiosk.exe.config file (located in the SSK install directory) inside the appSettings node:

<add key="EnableWebApiDevTools" value="true"/>

With this configuration, from an embedded web-page in SSK you can press F12 and the Microsoft Edge Developer Tools will open in a standalone window, at which point you can debug your embedded page as-if it was running inside Microsoft Edge standalone.

NOTE: This configuration allows anyone with access to the kiosk to invoke the Microsoft Edge Developer Tools, and should not be used in production. When this is enabled, SSK presents a red warning at the top of the window to indicate that it is configured in an insecure fashion.

Web API

The following details the functions and properties exposed by this version of the SSK Web API.

Fingerprint Capture

CaptureFingerprints(fingersToCapture, captureDeviceType, callbackFunc)

Description

Allows the embedded web-page to capture one or more fingerprints using SSK's native controls. When called, the web-page is hidden and the fingerprint capture UI is displayed; once the operator has completed the fingerprint capture the web-page is restored and the result is returned via a callback function as a JSON string in MyID REST API format.

Arguments

Name Type Description Allowed values
fingersToCapture string Fingers to be captured Semi-colon delimited string of Finger IDs (case-insensitive)
captureDeviceType string Fingerprint capture device-type One of the supported fingerprint capture device-types (case insensitive)
callbackFunc function JavaScript callback to which SSK will return the result. A JavaScript function that takes a single string parameter.

Finger IDs

Value Description
LT Left thumb
LI Left index-finger
LM Left middle-finger
LR Left ring-finger
LL Left little-finger
RT Right thumb
RI Right index-finger
RM Right middle-finger
RR Right ring-finger
RL Right little-finger

Fingerprint Capture Device-Types

Value Description
Secugen Capture using a Secugen fingerprint reader
UareU Capture using a UareU fingerprint reader

Example

The following shows a capture of the left and right thumbs using a Secugen fingerprint reader:

function processResult(result) { // This will be called by SSK with the capture result } window.chrome.webview.hostObjects.MyID.CaptureFingerprints("lt;rt", "secugen", processResult)

Callback Data Format

The following is an example of the data that is passed into callbackFunc (the processResult function in the above example) by SSK:

{ "Fingers": { "lt": { "bioDeviceId": "{C4723C9E-828F-497F-AD2E-D15EFA17B971}", "minutia": { "format": "378", "data": "<AnsiIncits378Data>" }, "quality": "90", "status": "P" }, "rt": { "bioDeviceId": "{C4723C9E-828F-497F-AD2E-D15EFA17B971}", "minutia": { "format": "378", "data": "<AnsiIncits378Data>" }, "quality": "86", "status": "P" } }, "StatusCode": "Success", "Success": true }

In this example, the left and right thumbs have been successfully captured (actual data redacted for the purpose of this document).


Done

Done(doneReason)

Description

A function that allows the embedded web-page to indicate to SSK that it has finished its work, and that the kiosk should progress to the next stage. The web-page can indicate the reason for progressing, i.e. successfully completed, cancelled, timed-out, or errored.

When indicating a cancellation, SSK prompts the operator to confirm the cancellation - if they confirm then SSK progresses, and if they cancel then the embedded web-page is restored.

Arguments

Name Type Description Allowed values
doneReason string The reason for progressing One of the supported done reasons (case-insensitive)

Done Reasons

Value Description
Abort Indicates a cancellation
Complete Indicates success
Error Indicates an error
Timeout Indicates a timeout

Example

The following shows an instruction to SSK that the web-page has finished its work successfully and that the kiosk can now progress:

window.chrome.webview.hostObjects.MyID.Done("complete")

Kiosk ID

string KioskID

Description

A simple property that allows the embedded page to retrieve the configured Kiosk ID as a string.

Example

The following shows retrieval of the Kiosk ID using the await pattern:

var kioskId = await window.chrome.webview.hostObjects.MyID.KioskID

In this example, assuming the following was configured in the MyIDKiosk.exe.config appSettings:

<add key="KioskID" value="Kiosk1234"/>

...then the value of kioskId would be "Kiosk1234".

NOTE: If no value has been configured in the MyIDKiosk.exe.config then SSK will return "NotSet".


© Intercede 2022, all rights reserved.